﻿using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <summary>
/// 游戏统一管理器所有管理器都只能继承此管理器
/// </summary>
public interface IManager
{
    LogicWeight logicWeight { get; }
    /// <summary>
    /// 游戏唤醒，初始化程序相关数据，游戏过程一直不变的数据。 这里不可读配表
    /// </summary>
    void OnAwake();
    /// <summary>
    /// 初始化。 每次进入登录流程，或者从游戏中退出到其他流程时调用
    /// 这里初始化游戏相关的数据，如读取配置、社招回调和事件监听等。
    /// </summary>
    void OnInit();
    /// <summary>
    /// 游戏重置 。 每次从游戏流程中退出后调用。这里清理Init 中初始化的数据，以及游戏中任何的数据，包括读取的配置，注册的回调和事件
    /// </summary>
    void OnReset();
    /// <summary>
    /// 离开场景
    /// </summary>
    void OnExitScene();
    void OnEnterScene();
    void OnDestroy();
    /// <summary>
    /// 游戏暂停 游戏切入后台，从后台恢复时调用，或则编辑器 暂定按钮时调用
    /// </summary>
    void OnPause(bool pause);
    void OnFocus(bool focus);
}
